import axios from 'axios' // 引入封装好的axios实例

// 创建 axios 实例
const request = axios.create({
    baseURL: import.meta.env.VITE_API_BASE_URL || '/api', // 基础路径
    timeout: 10000, // 请求超时时间
})

// 请求拦截器
request.interceptors.request.use(
    (config) => {
        // 可添加 token、loading 等
        // const token = localStorage.getItem('token')
        // if (token) {
        //   config.headers.Authorization = `Bearer ${token}`
        // }
        return config
    },
    (error) => {
        return Promise.reject(error)
    }
)

// 响应拦截器
request.interceptors.response.use(
    (response) => {
        // 根据后端返回结构处理数据
        return response.data // 直接返回 data 数据
    },
    (error) => {
        // 统一处理错误，如 401 跳转登录等
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    // 处理未授权错误
                    console.error('未授权，请重新登录');
                    break;
                case 404:
                    // 处理未找到错误
                    console.error('请求的资源不存在');
                    break;
                case 500:
                    // 处理服务器错误
                    console.error('服务器错误');
                    break;
                default:
                    console.error('其他错误');
            }
        };
        return Promise.reject(error)
    }
)

export default request